Mobile application-based error response

ABSTRACT

An apparatus is configured to receive a data feed. The data feed includes location data of a first card reader that may be compromised and an identifier of the party that initiated the alert. The apparatus is further configured to determine that the location data of the first card reader matches a location identifier associated with a first card reader owner profile. The apparatus is also configured to determine that the owner of the card reader is not the entity receiving the alert. The apparatus then determines that there is not a match between the identifier of the party that initiated the alert and a user identifier from a plurality of user account profiles. The apparatus is further configured to transmit a message to the card reader owner indicating that the card reader may be compromised.

TECHNICAL FIELD

This disclosure relates generally to systems and data reporting. More specifically, this disclosure relates to mobile application-based error response.

BACKGROUND

Card readers are data input devices that read data from a storage medium such as a card or fob. The data may be embedded in a barcode, magnetic strip, computer chip, or other medium. Such devices may be used in a variety of security applications. For example, access control card readers are used to limit access to physical locations. Generally located at a control point such as a locked door or gate, access control card readers may employ a magnetic stripe reader, a biometric reader, a barcode reader, or a proximity reader. Card readers are also used to handle electronic payments and data transfers. For example, automated teller machines use magnetic stripe readers or chip authenticators to allow individuals to withdraw funds from an account. Card readers are also used to perform transactions with merchants.

Card readers present an information security risk because they are often deployed in settings where the devices are unattended and vulnerable to tampering. One common scheme that malicious actors use to obtain personal information from card user's is skimming. Skimming devices may be attached to the internal wiring of a transaction device, such as a fuel pump, or they may be fit over the original card reader. These devices allow the original card reader to continue functioning while the skimming device collects data from input cards. The data collected by card skimmers may then be used to create duplicates of the cards, which in turn compromises the security of any system using the cards as means of restricting access to physical locations or electronic information.

Identification of card skimming devices and security breaches stemming from these devices is complicated because they do not alter the operation of the original card reader. While someone may eventually detect a breach in a system using card readers, the means of detecting such a breach—e.g., seeing an unauthorized individual visiting a restricted area or noticing errant charges to a credit card—do not reveal which card reader is compromised. Detection of compromised card readers is also hindered by their distribution across multiple networks. Different networks may use different card reader identifiers, and many entities operating such security networks may be reluctant to share certain usage statistics that might improve detection of compromised card readers.

SUMMARY OF THE DISCLOSURE

According to one embodiment, an apparatus for card reader error reporting includes a memory and a hardware processor. The memory is configured to store a geolocation application programming interface (API). The processor is configured to receive a complaint initiation signal. A complaint initiation signal includes an indication that a card reader may be compromised, and initiation date and time of the complaint, and geolocation data related to the reporting party. The processor is configured to identify a street address closest to the geolocation data in the complaint using the geolocation API and the set of geolocation data. The processor is further configured to determine that the identified street address is associated with an entity. The processor then calculates a confidence interval as to whether that entity is the type of entity that uses a card reader. The processor is also configured to determine that the confidence interval exceeds a threshold. The processor is configured to determine an identifier of the entity. Additionally, the processor is configured to publish an alert to a data feed. The alert includes an indication that the card reader may be compromised, the initiation date and time of the complaint, the street address that is associated with the entity, and the identifier of the identity.

Certain embodiments provide one or more technical advantages. As an example, an embodiment improves detection of compromised card readers in a network of card readers by collecting user reports of card readers that appear tampered. Additionally, some embodiments improve detection of compromised card readers by extracting geolocation data from images reported by users to determine the locations of tampered card readers. Further, some embodiments construct a data feed from the enriched data correlations related to the potentially tampered card readers. The disclosed embodiments also provide the capability of taking generalized security alerts regarding tampered card readers and evaluating the impact on a specific entity and users that interact with the entity.

The systems and methods described in this disclosure may be integrated into a practical application of a physical security system that employs card readers to control access to different rooms of a building. The disclosed system may be used to not only determine that one or more card readers may be compromised, but to also identify which card reader in the network is compromised and to initiate remedial steps to secure the network. Additionally, the disclosed system may be deployed in a network that processes credit card transactions. For example, the disclosed systems and methods may be used to identify automated teller machines that are compromised by the presence of a skimming device, alert institutions that may transact with the automated teller machine, as well as alert users of the automated teller machine. In both contexts the practical application of the disclosed systems and methods improves digital network security along with the physical security of the relevant locations.

Certain embodiments of the present disclosure may include some, all, or none of these advantages. These advantages and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings and detailed description, wherein like reference numerals represent like parts:

FIG. 1 is a schematic diagram of a system that is configured to receive and process mobile application-based error reports;

FIG. 2 is a flowchart of an embodiment of a method for card reader error reporting using the mobile application-based system;

FIG. 3 illustrates the processing of geolocation data in an error reporting method;

FIG. 4 illustrates an example web map that is generated in some embodiments of the mobile application-based system; and

FIG. 5 is a flowchart of an embodiment of a method for handling card reader alerts.

DETAILED DESCRIPTION

System Overview

FIG. 1 is a schematic diagram of a reporting system 100 that is configured to receive and process mobile application-based error reports. The reporting system 100 is generally configured to receive complaints about potentially compromised card readers via a mobile application. In a practical application of the method performed by the reporting system 100, the security of physical locations secured by card reader systems is increased by rapid and accurate detection of card readers that may be compromised by the presence of skimmers or other forms of tampering. The security and reliability of electronic transactions involving credit or debit cards is also improved by such detection of compromised card readers.

In one embodiment, the reporting system 100 comprises a complaint aggregation server 102, one or more user devices 104, complaint analysis servers 106, and a security entity 108 (e.g., law enforcement agency). The complaint aggregation server 102, user devices 104, complaint analysis servers 106, and security entity 108 communicate through network 110. Network 110 facilitates communication between and amongst the various components of the reporting system 100. This disclosure contemplates network 110 being any suitable network operable to facilitate communication between the components of the reporting system 100. Network 110 may include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding. Network 110 may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network, such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof, operable to facilitate communication between the components.

User devices 104 a and 104 b are used by persons 116 and 118, respectively, to report issues with a card reader 112 located at an automated teller machine (ATM) 113 and card reader 114 located at a fuel pump 115. The card readers 112 and 114 are data input devices that can read data from a card storage medium. Card storage media includes any fob or device that contains a barcode, magnetic stripe, proximity reader (e.g., near field communication chip), or similar technology. For example, the card readers 112 and 114 may be configured to receive a credit card. While the card readers 112 and 114 are depicted as credit card terminals at points of sale, the present disclosure also contemplates application in other security contexts. For example, the methods disclosed can be used to identify security breaches in a secured facility that uses card readers to control access through doors and gates.

The devices 104 are generally any computing devices provide access to web applications. As such, a user device generally includes a user interface operable to display mobile applications. The user devices 104 also include mechanisms for the user to input information into a web application. For example, the user devices 104 may have a camera that can be used to take photographs or videos and transmit them over a wireless network. The user devices 104 also have keyboard or touchscreen inputs for users to input text. The user devices 104 may also have microphones for receiving audio input from a user.

The input data may then be incorporated into error reports 120 and 122. For example, the error reports 120 and 122 may contain a date and time 124 when the complaint was initiated, a user identifier 126 associated with the user generating the error report 120 or 122, a telephone number 128 associated with the user generating the error report 120 or 122, an email address 130 associated with the user generating the error report 120 or 122, geolocation data 132 collected from the user device 104 when the complaint was initiated, an IP address 134 associated with the user device 104, and a photograph 136 of the potentially compromised card reader 112 or 114. The error reports 120 and 122 are detailed further in FIG. 2. While the user devices 104 a-b are illustrated as smart phones in the example reporting system 100, they may be personal digital assistants, laptops, tablet computers, personal computers, or any similar device capable of displaying an application to a user and receiving information from the user. Additional details about the role of user devices 104 is provided in FIGS. 2-4.

Complaint Aggregation Server

The error reports 120 and 122 are transmitted to a complaint aggregation server 102 via the network 110. Complaint aggregation server 102 is generally configured to analyze the incoming error reports 120 and 122 and publish a data feed 138 via network 110. The data feed 138 comprises a plurality of alerts 139. For example, the example data feed 138 includes alerts 139 a, 139 b, 139 c, and 139 d. Each of these alerts may related to a different card reader, or they may be reports related to the same card reader but submitted by different users. The data feed 138 is updated with information related to each received error report 120 or 122. The data feed 138 may be actively pushed to recipients—such as entity 140 that controls a complaint analysis server 106 a, entity 142 that controls a complaint analysis server 106 b, and security entity 108—or it may be located on a server accessible by other parties that may periodically download data from the data feed 138. The contents of the data feed 138, as well as the roles of the complaint analysis servers 106, entity 140, entity 142 and security entity 108, are further described below with relation to FIG. 5.

The example complaint aggregation server 102 illustrated in the reporting system 100 comprises a processor 144, a network interface 146, and a memory 148. The processor 144 comprises one or more processors operably coupled to the memory 148. The processor 144 is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor 144 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor 144 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. The processor 144 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.

The one or more processors 144 are configured to implement various instructions. For example, the one or more processors 144 are configured to execute one or more set of instructions 150 to implement a complaint enrichment module 152, one or more set of instructions 154 to implement a data feed module 156, and one or more set of instructions 158 to implement a mapping module 160. In this way, processor 144 may be a special purpose computer designed to implement the functions disclosed herein. In an embodiment, the complaint enrichment module 152, data feed module 156, and mapping module 160 are implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. For example, the complaint enrichment module 152 may be configured to perform steps 202-212 of the method 200 described in FIG. 2. The data feed module 156 may be configured to perform step 214 of the method 200 described in FIG. 2 The mapping module 160 may be configured to generate the web map 402 illustrated in FIG. 4.

The network interface 146 is configured to enable wired and/or wireless communications. The network interface 146 is configured to communicate data between the complaint aggregation server 102 and other devices (e.g., user devices 104 and complaint analysis servers 106), systems, or domains. For example, the network interface 146 may comprise a WIFI interface, a LAN interface, a WAN interface, a modem, a switch, or a router. The processor 144 is configured to send and receive data using the network interface 146. The network interface 146 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.

Memory 148 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory 148 may be volatile or non-volatile and may comprise read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).

The memory 148 is operable to store instructions 150 for implementing complaint enrichment module 152, instructions 154 for implementing data feed module 156, instructions 158 for implementing mapping module 160, and a geolocation application programming interface (API) 162. The operation of complaint enrichment module 152 is discussed in more detail in FIGS. 2-3. The operation of data feed module 156 is discussed in more detail in FIG. 2. The operation of mapping module 160 is discussed in more detail in FIG. 4. Geolocation API 162 is any extension or web application configured to return location coordinates based on data collected from a mobile phone (e.g., gps data, data based on interactions with cell towers and Wi-Fi nodes, etc.). The geolocation API 162 discussed in more detail in FIG. 2.

Complaint Analysis Servers

Complaint analysis servers 106 a and 106 b are capable of the same functionality. However, complaint analysis server 106 a is controlled by entity 140 while complaint analysis server 106 b is controlled by entity 142. Entities 140 and 142 represent any type of organization or group that uses card readers in some capacity. These may be businesses who use card readers in financial transactions or businesses that use card readers to physically secure an office building. These are offered as examples, but one of ordinary skill in the art will appreciate that various types of organizations can deploy card readers in a variety of security contexts. A complaint analysis server 106 is generally configured to receive the data feed 138 via the network 110. It may then determine which of the data in the data feed 138 is relevant to the entity that operates it. The relevant data is then used to initiate workflow tickets that may be distributed to different groups within the entity. For example, the analysis server 106 a may send a workflow ticket 164 a to a response team 166 a, a workflow ticket 164 b to a response team 166 b, and a workflow ticket 164 c to a response team 166 c. Similarly, the analysis server 106 b may send a workflow ticket 168 a to a response team 170 a, a workflow ticket 168 b to a response team 170 b, and a workflow ticket 168 c to a response team 170 c. Additional details about these workflow tickets is included in the discussion of FIG. 2.

The example complaint analysis servers 106 illustrated in reporting system 100 comprise a processor 172, a network interface 174, and a memory 176. The processor 172 comprises one or more processors operably coupled to the memory 176. The processor 172 is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g. a multi-core processor), field-programmable gate array (FPGAs), application specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor 172 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor 172 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. The processor 172 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.

The one or more processors 172 are configured to implement various instructions. For example, the one or more processors 172 are configured to execute one or more set of instructions 178 to implement an analysis module 180. In this way, processor 172 may be a special purpose computer designed to implement the functions disclosed herein. In an embodiment, the analysis module 180 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. For example, the analysis module 180 may be configured to perform the steps of method 500 described in FIG. 5.

The network interface 174 is configured to enable wired and/or wireless communications. The network interface 174 is configured to communicate data between the complaint analysis server 106 and other devices (e.g., complaint aggregation server 102), systems, or domains. For example, the network interface 174 may comprise a WIFI interface, a LAN interface, a WAN interface, a modem, a switch, or a router. The processor 172 is configured to send and receive data using the network interface 174. The network interface 174 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.

Memory 176 comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory 176 may be volatile or non-volatile and may comprise read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).

The memory 176 is operable to store instructions 178 for implementing analysis module 180; one or more card reader owner profiles 182, that each comprise a card reader owner identifier 184 and a list 186 of the card readers associated with that owner, including a location identifier 188 of where each card reader is located (e.g., gps coordinates) and a card reader identifier 190; and one or more user account profiles 192 that each comprise a user identifier 194 and a list 196 of card readers that have been used by the account. The operation of analysis module 180 as well as the roles of the card reader owner profiles 182 and user account profiles 192 are discussed in more detail in FIG. 5.

Operation of Complaint Aggregation Server

FIG. 2 is a flowchart of an embodiment of a method 200 for card reader error reporting using the mobile application-based system. The method 200 begins at step 202 when the complaint aggregation server 102 receives a complaint initiation signal from the user 116. The complaint initiation signal is the error report 120 generated by the user 116 on the user device 104 a. The error report 120 includes a date and time 124 when the complaint was initiated, a user identifier 126 associated with user 116, a telephone number 128 associated with user 116 (e.g., the telephone number of user device 104 a), an email address 130 associated with user 116, geolocation data 132 collected from the user device 104 a when the complaint was initiated, an IP address 134 associated with the user device 104 a, and a photograph 136 of the potentially compromised card reader 112 taken on the user device 104 a. This information included in the error report 120 is collected by the user device 104 a. A mobile application installed in the user device 104 a may be configured with input fields to allow the user 116 to manually enter some or all this information. The mobile application may also be configured to automatically gather such information automatically when the user 116 prompts the application to begin generating an error report 120.

Proceeding to step 204, the method continues by using the geolocation API 162 and the set of collected geolocation data 132 to identify a street address closest to the collected geolocation data 132. This process is illustrated in FIG. 3. The map 300 illustrates the processing of geolocation data in the error reporting method 200. When the collected geolocation data 132, represented by point 302, is input to the geolocation API 162, the geolocation API 162 returns address 304 as the nearest street address. Returning to FIG. 2, the method 200 proceeds to step 206 where the complaint aggregation server 102 determines that the street address 304 is associated with an entity. In this example, a bank with ATM 113. The method 200 then proceeds to step 208 where the complaint aggregation server 102 calculates a confidence for whether the entity is the type of entity that uses a card reader. Banks are likely to have a card reader on the premises, so a high confidence interval (e.g., 99%) will be assigned. In contrast, if the entity identified at step 206 were a private residence, then the confidence interval would be low. Proceeding to step 210, the complaint aggregation server 102 determines whether the confidence interval (in this case 99%) exceeds a threshold. In this example, the threshold is 90% confidence, and the method proceeds to step 212 because the threshold is exceeded. The operator of complaint aggregation server 102 may select this threshold.

At step 212, the complaint aggregation server 102 determines an identifier of the entity. The identifier may be a corporate name of the entity or an assumed business name. This is may be accomplished by searching a database of street addresses. Alternatively, this data may be collected from the geolocation API 162 when step 206 is completed.

Finally, the method 200 proceeds to step 214 where the complaint aggregation server 102 publishes an alert 139 a to a data feed 138 accessible by entity 140, entity 142, and security entity 108. Each alert 139 comprises an indication 141 that the card reader may be compromised (i.e., tampered, altered with a skimming device, etc.); the initiation date and time of the complaint 143; the street address 145 that is associated with the entity; and the identifier 147 of the entity. The alert 139 may also comprise a user identifier 149 and geolocation data 151. The initiation date and time of the complaint 143 is the date and time 124 from the error report 120. The street address 145 is the address determined at step 204. The identifier 147 of the entity is the identifier determined at step 212. The user identifier 149 is the collected user identifier 126. The geolocation data 151 is the collected geolocation data 132.

In alternate embodiments, the complaint aggregation server 102 is configured to use an internet protocol (IP) address included in the error report 120 to determine the cellular carrier of the user 116. The IP address is associated with the user device 104. In such embodiments, the alert 139 issued at step 214 further comprises the internet protocol and an identifier of the cellular carrier.

In contrast, if the complaint aggregation server 102 determines at step 210 that the confidence interval does not exceed the threshold, then method 200 proceeds to step 216. For example, the complaint aggregation server 102 may receive a second error report 120, this time from user device 104 b, that is related to the card reader 114 located at fuel pump 115. Performing the same steps 204-208 described above, the complaint aggregation server 102 uses the collected geolocation data 132 from this second error report 120, illustrated in FIG. 3 as point 306, to identify the nearest street address as street address 308. However, in this example the complaint aggregation server 102 determines at step 208 that the confidence interval for whether the entity associated with street address 308 is that type of entity that would have a card reader is 20%. Such a low confidence level may be due to determining that the street address 308 is zoned as a single-family residence. Because the confidence interval does not exceed the 90% confidence threshold, the method 200 proceeds to step 216. The complaint aggregation server 102 identifies the street address that is the next closest street address to the point 306 at step 216. In this example, that is street address 310. The method 200 then proceeds to progress through steps 206-210 again using the street address 310. If the confidence interval exceeds the threshold at step 210 the method 200 proceeds through steps 212 and 214 as described above. If the threshold is still not exceeded, then the method 200 progresses to step 216 until an address is identified for which the calculated confidence interval exceeds the threshold at step 210.

In addition to publishing alerts 139 to data feed 138, the complaint aggregation server 102 may be configured to maintain or update a web map as illustrated in FIG. 4. The web map 402 is accessible on user device 400. The user device 400 is another embodiment of the user devices 104 described in FIG. 1. The web map 402 may be an application installed on user device 400 or a page accessible through the internet. The web map 402 may show the user 404's current location in relation to sites where card readers were reported as compromised. Aggregation server 102 may update the web map 402 each time it issues an alert 139 to the data feed 138. In the example of FIG. 4, the web map was updated with a first marker 406 at the street address that is associated with a first entity identified using the method 200 and a second marker 408 at the street address that is associated with a second identity identified using the method 200. The marker 406 may comprise a link to a page that displays the number of alerts associated with that street address. The marker 408 may comprise a link to a page that displays the number of alerts associated that street address.

While the data used to generate the web map 402 is typically the data received in error report 120, the complaint aggregation server 102 may be configured to extract the necessary data from a photograph 136 of the potentially compromised card reader that is uploaded with an error report 120. For example, the complaint aggregation server 102 may receive a first error report 120 with an image of a first card reader and a second error report 120 with an image of a second card reader. The complaint aggregation server 102 may then extract from the metadata for the image of the first card reader a first set of global positioning system coordinates. The complaint aggregation server 102 may further extract from the metadata for the image of the second card reader a second set of global positioning system coordinates. It may then update the web map 402 by placing the marker 406 on the first set of global positioning system coordinates and by placing the marker 408 on the second set of global positioning system coordinates. As described above, these markers may provide a link to a list of card reader complaints at this address. Additionally, these markers may provide a link to a page that displays the details of the alert that led to the marker being updated on the web map 402.

Operation of Complaint Analysis Server

FIG. 5 a flowchart of an embodiment of a method 500 for handling card reader alerts. The method 500 starts at step 502 when a complaint analysis 106 receives an alert 139 from the data feed 138. The following example of method 500 will focus on complaint analysis server 106 a, but the operation is the same for complaint analysis server 106 b. In this example, server 106 a receives an alert 139 a related to a card reader 112. The alert 139 a comprises an indication 141 that the card reader may be compromised, the initiation date and time of the complaint 143; the street address 145 that is associated with the entity, the identifier 147 of the entity, a user identifier 149, and geolocation data 151.

At step 504, the complaint analysis server 106 a determines that the geolocation data 151 of the card reader 112 matches a first location identifier 188 associated with a card reader owner profile 182. At step 506 the complaint analysis server 106 a determines whether the owner of the card reader 112 is the entity receiving the alert 139. This determination is made based on the card reader owner identifier 184 associated with the card reader owner profile 182.

If it is determined that the owner of the card reader 112 is not the entity (e.g., entity 140) receiving the alert 139, then the method 500 proceeds to step 508. At step 508, the complaint analysis server 106 a determines whether the party that initiated the alert 139 (e.g., user 116) has a user identifier 126 that matches an identifier 194 in a user account profile 192. If it is determined at step 508 that there is not a match between the identifier of the party that initiated the alert 139 (i.e., a user identifier 126) and one of the user identifiers in the plurality of user account profiles (i.e., one of the user identifiers 194 in the user account profiles 192), then the complaint analysis server 106 a proceeds to step 510 where it transmits a message to the card reader owner identified (e.g., by card reader owner identifier 184) in the card reader owner profile (i.e., a card reader owner profile 182) indicating that the card reader associated with a card reader identifier (i.e., a card reader identifier 190) may be compromised. If, however, it is determined at step 508 that there is a match between the identifier of the party that initiated the alert 139 (i.e., a user identifier 126) and one of the user identifiers in the plurality of user account profiles (i.e., one of the user identifiers 194 in the user account profiles 192), then the complaint analysis server 106 a proceeds to step 512 where it both transmits a message to the card reader owner identified (e.g., by card reader owner identifier 184) in the card reader owner profile (i.e., a card reader owner profile 182) indicating that the card reader associated with a second card reader identifier (i.e., a card reader identifier 190) may be compromised and flags the user account profile (i.e., a user account profile 192) for potential unauthorized use.

Returning to step 506, if it is determined that that the owner of the card reader 112 is the entity (e.g., entity 140) receiving the alert 139, then the method 500 proceeds to step 514. At step 514, the complaint analysis server 106 a again determines whether the party that initiated the alert 139 whether the party that initiated the alert 139 (e.g., user 116) has a user identifier 126 that matches an identifier 194 in a user account profile 192. If it is determined at step 514 that there is not a match between the identifier of the party that initiated the alert 139 (i.e., a user identifier 126) and one of the user identifiers in the plurality of user account profiles (i.e., one of the user identifiers 194 in the user account profiles 192), then the complaint analysis server 106 a proceeds to step 516 where it flags the card reader 112 with the location identifier 188 for repair. If, however, it is determined at step 514 that that there is a match between the identifier of the party that initiated the alert 139 (i.e., a user identifier 126) and one of the user identifiers in the plurality of user account profiles (i.e., one of the user identifiers 194 in the user account profiles 192), then the complaint analysis server 106 a proceeds to step 518 where it both flags the card reader 112 with the location identifier 188 for repair and flags the user account profile (i.e., a user account profile 192) for potential unauthorized use.

Each of the steps 510-518 may be carried out directly by the analysis server 106 a, or the analysis server 106 a may generate workflow tickets 164 to send to a plurality of response teams 166 within the entity 140. For example, a response team 166 a may be responsible for communicating warnings to card reader owners. A response team 166 b may be responsible for communicating warnings to user account holders. A response team 166 c may be responsible for handling actions related to cared readers owned or operated by the entity 140. A similar distribution of response teams is illustrated for entity 142, which has analogous response teams 170 that may receive workflow tickets 168.

While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.

In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.

To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants note that they do not intend any of the appended claims to invoke 35 U.S.C. § 112(f) as it exists on the date of filing hereof unless the words “means for” or “step for” are explicitly used in the particular claim. 

The invention claimed is:
 1. An apparatus for handling card reader alerts, comprising: a memory configured to store: a plurality of card reader owner profiles, each profile associated with a card reader owner, and comprising: a card reader owner identifier; a list of one or more card readers associated with the card reader owner, the list comprising for each card reader: geolocation coordinates of where the card reader is located; and a card reader identifier; a plurality of user account profiles, each profile comprising a user identifier; a hardware processor communicatively coupled to the memory, and configured to: receive, via a data feed, an alert comprising: geolocation data of a first card reader that may be compromised; an identifier of a party that initiated the alert; determine that the geolocation data of the first card reader matches a first location identifier associated with a first card reader owner profile; determine, based on the card reader owner identifier associated with the first card reader owner profile, that the owner of the first card reader is not the entity receiving the alert; determine that there is not a match between the identifier of the party that initiated the alert and the user identifiers in the plurality of user account profiles; transmit a message to the card reader owner identified in the first card reader owner profile indicating that the card reader associated with a first card reader identifier may be compromised.
 2. The apparatus of claim 1, wherein the hardware processor is further configured to: receive, via the data feed, a second alert comprising: geolocation data of a second card reader that may be compromised; an identifier of a second party that initiated the second alert; determine that the geolocation data of the second card reader matches a second location identifier associated with a second card reader owner profile; determine, based on the card reader owner identifier associated with the second card reader owner profile, that the owner of the second card reader is not the entity receiving the alert; determine that the identifier of the second party that initiated the second alert matches a user identifier in a user account profile; transmit a message to the card reader owner identified in the second card reader owner profile indicating that the card reader associated with a second card reader identifier may be compromised; flag the user account profile for potential unauthorized use.
 3. The apparatus of claim 1, wherein the hardware processor is further configured to: receive, via the data feed, a third alert comprising: geolocation data of a third card reader that may be compromised; an identifier of a third party that initiated the third alert; determine that the geolocation data of the third card reader matches a third location identifier associated with a third card reader owner profile; determine, based on the card reader owner identifier associated with the third card reader owner profile, that the owner of the third card reader is the entity receiving the alert; determine that there is not a match between the identifier of the party that initiated the alert and the user identifiers in the plurality of user account profiles; flag the card reader with the third location identifier for repair.
 4. The apparatus of claim 3, wherein the hardware processor is further configured to: receive, via the data feed, a fourth alert comprising: geolocation data of a fourth card reader that may be compromised; an identifier of a fourth party that initiated the fourth alert; determine that the geolocation data of the fourth card reader matches a fourth location identifier associated with the third card reader owner profile; determine, based on the card reader owner identifier associated with the third card reader owner profile, that the owner of the third card reader is the entity receiving the alert; flag the card reader with the fourth location identifier for repair; determine that the identifier of the party that initiated the fourth alert matches a user identifier in a second user account profile; flag the second user account profile for potential unauthorized use.
 5. The apparatus of claim 1, wherein: each user account profile further comprises a list of card readers used by the account; and the hardware processor is further configured to: identify at least one user account profile that has used the card reader associated with the first card reader identifier; flag the identified user account profiles for review for unauthorized use.
 6. The apparatus of claim 3, wherein: each user account profile further comprises a list of card readers used by the account; and the hardware processor is further configured to: identify at least one user account profile that has used the card reader associated with the third card reader identifier; flag the identified user account profiles for review for unauthorized use.
 7. The apparatus of claim 1, wherein the hardware processor is further configured to block access to user accounts when an attempt is made to access it through the card reader associated with the first card reader identifier.
 8. A method for handling card reader alerts, comprising: receiving, via a data feed, an alert comprising: geolocation data of a first card reader that may be compromised; an identifier of a party that initiated the alert; determining that the geolocation data of the first card reader matches a first location identifier associated with a first card reader owner profile; determining, based on a card reader owner identifier associated with the first card reader owner profile, that an owner of the first card reader is not the entity receiving the alert; determining that there is not a match between the identifier of the party that initiated the alert and one of a plurality of user identifiers in a plurality of user account profiles stored in a memory; transmitting a message to the card reader owner identifier associated with the first card reader owner profile indicating that the card reader associated with a first card reader identifier may be compromised.
 9. The method of claim 8, further comprising: receiving, via the data feed, a second alert comprising: geolocation data of a second card reader that may be compromised; an identifier of a second party that initiated the second alert; determining that that the geolocation data of the second card reader matches a second location identifier associated with a second card reader owner profile; determining, based on a card reader owner identifier associated with the second card reader owner profile, that an owner of the second card reader is not the entity receiving the alert; determining that the identifier of the second party that initiated the second alert matches a user identifier in a user account profile; transmitting a message to the card reader owner identified in the second card reader owner profile indicating that the card reader associated with a second card reader identifier may be compromised; flagging the user account profile for potential unauthorized use.
 10. The method of claim 8, further comprising: receiving, via the data feed, a third alert comprising: geolocation data of a third card reader that may be compromised; an identifier of a third party that initiated the third alert; determining that the geolocation data of the third card reader matches a third location identifier associated with a third card reader owner profile; determining, based on a card reader owner identifier associated with the third card reader owner profile, that an owner of the third card reader is the entity receiving the alert; determining that that there is not a match between the identifier of the party that initiated the alert and one of the plurality of user identifiers in the plurality of user account profiles; flagging the card reader with the third location identifier for repair.
 11. The method of claim 10, further comprising: receiving, via the data feed, a fourth alert comprising: geolocation data of a fourth card reader that may be compromised; an identifier of a fourth party that initiated the fourth alert; determining that the geolocation data of the fourth card reader matches a fourth location identifier associated with the third card reader owner profile; determining, based on the card reader owner identifier associated with the third card reader owner profile, that the owner of the third card reader is the entity receiving the alert; flagging the card reader with the fourth location identifier for repair; determining that the identifier of the party that initiated the fourth alert matches a user identifier in a second user account profile; flagging the second user account profile for potential unauthorized use.
 12. The method of claim 8, further comprising: identifying at least one user account profile that has used the card reader associated with the first card reader identifier; flagging the identified user account profiles for review for unauthorized use.
 13. The method of claim 10, further comprising: identifying at least one user account profile that has used the card reader associated with the third card reader identifier; flagging the identified user account profiles for review for unauthorized use.
 14. The method of claim 8, further comprising blocking to user accounts when an attempt is made to access it through the card reader associated with the first card reader identifier.
 15. A computer program comprising executable instructions stored in a non-transitory computer readable medium that when executed by a hardware processor causes the hardware processor to: receive an alert comprising: geolocation data of a first card reader that may be compromised; an identifier of a party that initiated the alert; determine that the geolocation data of the first card reader matches a first location identifier associated with a first card reader owner profile; determine, based on a card reader owner identifier associated with the first card reader owner profile, that an owner of the first card reader is not the entity receiving the alert; determine that there is not a match between the identifier of the party that initiated the alert and one of a plurality of user identifiers in a plurality of user account profiles stored in a memory; transmit a message to the card reader owner identifier associated with the first card reader owner profile indicating that the card reader associated with a first card reader identifier may be compromised.
 16. The computer program of claim 15, further comprising instructions that when executed by the hardware processor causes the hardware processor to: receive a second alert comprising: geolocation data of a second card reader that may be compromised; an identifier of a second party that initiated the second alert; determine that that the geolocation data of the second card reader matches a second location identifier associated with a second card reader owner profile; determine, based on a card reader owner identifier associated with the second card reader owner profile, that an owner of the second card reader is not the entity receiving the alert; determine that the identifier of the second party that initiated the second alert matches a user identifier in a user account profile; transmit a message to the card reader owner identified in the second card reader owner profile indicating that the card reader associated with a second card reader identifier may be compromised; flag the user account profile for potential unauthorized use.
 17. The computer program of claim 15, further comprising instructions that when executed by the hardware processor causes the hardware processor to: receive a third alert comprising: geolocation data of a third card reader that may be compromised; an identifier of a third party that initiated the third alert; determine that the geolocation data of the third card reader matches a third location identifier associated with a third card reader owner profile; determine, based on a card reader owner identifier associated with the third card reader owner profile, that an owner of the third card reader is the entity receiving the alert; determine that that there is not a match between the identifier of the party that initiated the alert and one of the plurality of user identifiers in the plurality of user account profiles; flag the card reader with the third location identifier for repair.
 18. The computer program of claim 17, further comprising instructions that when executed by the hardware processor causes the hardware processor to: receive a fourth alert comprising: geolocation data of a fourth card reader that may be compromised; an identifier of a fourth party that initiated the fourth alert; determine that the geolocation data of the fourth card reader matches a fourth location identifier associated with the third card reader owner profile; determine, based on the card reader owner identifier associated with the third card reader owner profile, that the owner of the third card reader is the entity receiving the alert; flag the card reader with the fourth location identifier for repair; determine that the identifier of the party that initiated the fourth alert matches a user identifier in a second user account profile; flag the second user account profile for potential unauthorized use.
 19. The computer program of claim 15, further comprising instructions that when executed by the hardware processor causes the hardware processor to: identify at least one user account profile that has used the card reader associated with the first card reader identifier; flag the identified user account profiles for review for unauthorized use.
 20. The computer program of claim 17, further comprising instructions that when executed by the hardware processor causes the hardware processor to: identify at least one user account profile that has used the card reader associated with the third card reader identifier; flag the identified user account profiles for review for unauthorized use. 